1.实验目标
本次实验将引导您在阿里云公共云上实际操作,购买POLARDB实例和ECS客户机实例,安装配置Sysbench测试工具,对POLARDB发起测试交易,并记录测试结果。
通过本次实验,您将会:
- 了解并亲自通过阿里云控制台购买一个POLARDB实例
- 购买测试所需的ECS客户机实例,配置专有网络VPC和虚拟路由器
- 配置POLARDB实例的相关参数
- 通过Sysbench测试工具使用OLTP交易模型对POLARDB进行压力测试
本次实验使用的阿里云控制台链接为:https://home.console.aliyun.com/
本次实验使用的测试账号和密码请联系实验讲师索取。
完成本次实验需要约30分钟。
2.实验准备
您需要准备一台可以连接公网的电脑,并安装好SSH客户端工具,例如PuTTy,iTerm2等。
3.实验步骤
任务1:创建虚专有网络VPC和交换机
专有网络VPC(Virtual Private Cloud)是用户基于阿里云创建的自定义私有网络。交换机是组成专有网络的基础网络设备。它可以连接不同的云产品实例。在专有网络内创建云产品实例时,必须指定云产品实例所连接的交换机。
- 登录专有网络管理控制台。
- 在最顶部菜单栏,选择专有网络的地域。本次实验均选择华东1。
- 单击创建专有网络,根据以下信息配置专有网络和交换机,然后单击确定。
专有网络 |
名称 |
LabVPC |
目标网段 |
默认(192.168.0.0/16) |
|
交换机 |
名称 |
LabSwitch |
可用区 |
华东1可用区G |
|
目标网段 |
默认(192.168.0.0/24) |
任务2:购买POLARDB实例
POLARDB是阿里云自主研发的新一代关系型数据库,是与MySQL完全兼容的Cloud Native设计的云托管数据库产品。POLARDB采用分布式存储引擎设计,在提供高吞吐和低延迟OLTP服务的同时,以更低的使用成本,提供更好的系统在线扩展、故障快速恢复、数据备份容灾服务。
- 进入POLARDB管理控制台(https://polardb.console.aliyun.com)。
- 单击右上角的创建按钮。
- 选择按量付费。
- 设置如下参数。
基本配置 |
地域 |
华东1 |
可用区 |
华东1可用区G |
|
网络类型 |
专有网络 |
|
VPC网络 |
LabVPC |
|
VPC交换机 |
LabSwitch |
|
实例配置 |
引擎类型 |
POLARDB |
实例规格 |
2核16GB(独享规格) |
|
只读实例 |
创建一个同规格只读实例 |
|
集群名称 |
Lab-POLARDB-Cluster |
|
购买量 |
集群数量 |
1 |
- 点击立即购买。
- 点选同意协议,点击去开通。
- 点击管理控制台,点选华东1地域,看到实例创建正在创建中。
- 利用等待的时间,我们继续创建ECS客户机实例。
任务3:创建ECS客户机
云服务器(Elastic Compute Service,简称 ECS)是一种简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本,使您更专注于核心业务创新。本次实验中,ECS客户机通过运行Sysbench测试工具,连接到POLARDB数据库服务器上执行测试。
- 登录 云服务器ECS管理控制台。
- 在左侧导航栏,单击 实例。
- 在 实例列表 页面,单击 创建实例,进入 创建 页面。
- 进行 基础配置。
- 选择 计费方式。本实验中,选择 按量付费。
- 选择地域和可用区,选择华东 1,可用区G。
- 选择实例规格为 仅显示最新一代 > x86计算 > 计算型 > 计算型c5 2vCPU 4 GB。
- 购买数量1台。
- 选择镜像为 系统镜像,操作系统CentOS,版本7.4 64位。
- 选择存储。本实验中,仅使用系统盘,默认选择40 GiB高效云盘。
- 单击 下一步:网络和安全组,完成网络和安全组设置。
- 选择网络类型为 专有网络。选择LabVPC和LabSwitch。
- 选择 分配公网IP地址 为实例分配一个公网IP地址,并选择 按使用流量 对公网带宽计费。 使用默认公网带宽5Mbps。
- 选择安全组。使用默认安全组。
- 不添加弹性网卡。
- 单击 下一步:系统配置。
- 您可以选填此页面中的选项,建议您设置 登录凭证 和 实例名称。选择 自定义密码,设置密码为Ecs123456,并将实例名称设为LabECS。
- 单击 下一步:分组设置。跳过这一步。
- 单击 下一步:确认订单。确认所选配置,您也可以单击编辑图标返回修改配置。
- 阅读和确认 云服务器ECS服务条款,然后单击 创建实例。
- 单击管理控制台,返回实例列表。点击刷新按钮直到实例状态变为运行中。
任务4:安装Sysbench压测工具
- 确认ECS实例LabECS的状态已经是运行中。
- 在页面上的IP地址列中,记录(或者复制)此实例的公网IP地址。
- 打开SSH客户端工具,输入ssh root@<ECS公网IP地址>。输入yes将地址加入本地可信列表,然后输入上面创建的ecs密码Ecs123456登录。
- 顺序执行下面的命令安装Sysbench和辅助工具。可以一次性复制粘贴所有命令并执行。
sudo yum -y install git mysql make automake libtool pkgconfig libaio-devel
git clone https://code.aliyun.com/guoqi/sysbench.git
sudo yum -y install mariadb-devel
cd sysbench
git checkout 0.5
./autogen.sh
./configure
sudo make -j
sudo make install
cd ..
任务5:配置POLARDB实例白名单和用户信息
- 进入POLARDB管理控制台(https://polardb.console.aliyun.com)。
- 点击左侧集群列表。
- 选择上方华东1区域。
- 确认集群Lab-POLARDB-Cluster为运行中状态。点击管理。
- 在访问信息段落中,点击白名单列表后面的编辑按钮(一支笔的图标)。
- 在弹出的输入框中输入192.168.0.0/24,点击确认。
- 在访问信息段落中,初始账号后面,点击申请账号。
- 在弹出的对话框中,输入用户名:polardbadmin,密码:Polardb123456。
- 单击确定创建账号。
- 在访问信息段落里面,找到集群连接地址 (VPC),点击后面的复制。
- 在ECS客户机的SSH窗口内,执行下面的ping命令,将复制的主机地址粘贴上,记录从ECS客户机到POLARDB的ping响应时间time。
ping -c 10 <POLARDB连接地址>
记录ping时间
rtt min/avg/max/mdev = 0.088/0.094/0.101/0.010 ms
在之前登录的ECS客户机的SSH命令行窗口内,执行下面的命令,创建sysbench schema。
mysql -h <POLARDB连接地址> -u polardbadmin -pPolardb123456 -e "create schema sysbench"
- 创建sysbench测试数据表,插入测试数据
sysbench --test=parallel_prepare.lua --mysql-host=<POLARDB连接地址> --mysql-port=3306 --mysql-user=polardbadmin --mysql-password=Polardb123456 --mysql-db=sysbench --mysql-table-engine=innodb --oltp-table-size=100000 --oltp-tables-count=128 --db-driver=mysql --num-threads=8 --max-requests=8 run
任务6:测试POLARDB OLTP读取性能
- 测试POLARDB只读性能,并发连接数为16,运行3分钟输出统计结果
sysbench --test=oltp.lua --mysql-host=<POLARDB连接地址> --oltp-tables-count=128 --mysql-user=polardbadmin --mysql-password=Polardb123456 --mysql-port=3306 --db-driver=mysql --oltp-tablesize=100000 --mysql-db=sysbench --max-requests=0 --oltp_simple_ranges=0 --oltp-distinct-ranges=0 --oltp-sum-ranges=0 --oltp-order-ranges=0 --max-time=180 --oltp-read-only=on --num-threads=16 --randtype=uniform --report-interval=10 run
|
- 得到类似如下统计结果。需要关注的是transactions和read/write requests两行的统计值,其分别是每秒交易量和每秒读写量。
|
任务7:测试POLARDB OLTP写入性能
- 测试POLARDB写入性能,并发连接数为16,运行3分钟输出统计结果
|
- 得到类似如下统计结果。需要关注的是transactions和read/write requests两行的统计值,其分别是每秒交易量和每秒读写量。
OLTP test statistics:
queries performed:
read: 0
write: 1797301
other: 898651
total: 2695952
transactions: 449323 (2496.10 per sec.)
read/write requests: 1797301 (9984.46 per sec.)
other operations: 898651 (4992.23 per sec.)
ignored errors: 5 (0.03 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 180.0098s
total number of events: 449323
total time taken by event execution: 2879.7452s
response time:
min: 0.90ms
avg: 6.41ms
max: 1106.37ms
approx. 95 percentile: 11.31ms
Threads fairness:
events (avg/stddev): 28082.6875/98.71
execution time (avg/stddev): 179.9841/0.00
========= 文档结束=========